home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
MACSHELL
/
MS1
/
SAMPLES
/
CMD.C
next >
Wrap
Text File
|
1992-12-02
|
6KB
|
188 lines
/*
* MacShell Source File
*
* Copyright (c) 1989, 1990, 1991, 1992 Suick Bay Technologies. All rights reserved.
*
*
* RESTRICTIONS ON MacShell program and source code.
*
* Ñ╩MacShell¬ is a product of Suick Bay Technologies and is provided for
* restricted use by the owner of the CDROM "Disk to the future II".
*
* Ñ╩No permission is granted for any commercial use without the written
* consent of the Suick Bay Technologies.
*
* Ñ╩No permission is granted for any redistribution of any kind use without
* the written consent of the Suick Bay Technologies.
*
* Ñ╩Permission is granted to use this for any personal noncommercial use.
*
* Ñ╩You may not distribute source or executable code at all, nor may you
* distribute it with or within a commercial product without the written
* consent of the Suick Bay Technologies. Please send modifications to
* the author for inclusion in updates to the program. Thanks.
*
*
* MacShell¬ IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
*
* SUICK BAY TECHNOLOGIES SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY MACSHELL
* OR ANY PART THEREOF.
*
* In no event will Suick Bay Technologies be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Suick Bay Technologies has been advised of the possibility of such damages.
*
* Suick Bay Technologies can be reached at:
*
* 8768 Cottonwood lane
* Maple Grove, MN 55369
* Voice: (612) 425-7025
* AppleLink: D5233
*
*
* No parts of this software may be reproduced or stored in a
* retrieval system or transmitted in any form, or any means,
* electronic, mechanical, photocopying, recording or otherwise,
* without the prior written permission of Suick Bay Technologies.
*
* Spread the word and not the disk.
*
* SPK 012290 : Initial
*/
#include "SystemPub.h"
#include "Cmds.h"
Boolean GetCommandInfo( char *cmdName, ProcPtr *funcPtr, int *usesStdIn )
{
*usesStdIn = FALSE;
*funcPtr = NULL;
if( strcmp( cmdName, "pr" ) == 0 )
*funcPtr = (ProcPtr) DoPR;
else if( strcmp( cmdName, "lsr" ) == 0 )
*funcPtr = (ProcPtr) DoLSR;
else if( strcmp( cmdName, "dumpr" ) == 0 )
*funcPtr = (ProcPtr) DoDUMPR;
else if( strcmp( cmdName, "grepr" ) == 0 )
*funcPtr = (ProcPtr) DoGREPR;
else if( strcmp( cmdName, "rmr" ) == 0 )
*funcPtr = (ProcPtr) DoRMR;
else if((strcmp( cmdName, "cpr" ) == 0) || /* share entry point */
(strcmp( cmdName, "mvr" ) == 0 ) ||
(strcmp( cmdName, "cmpr" ) == 0 ))
*funcPtr = (ProcPtr) DoRESCMD;
else if( strcmp( cmdName, "alias" ) == 0 )
*funcPtr = (ProcPtr) DoALIAS;
else if( strcmp( cmdName, "unalias" ) == 0 )
*funcPtr = (ProcPtr) DoUNALIAS;
else if( (strcmp( cmdName, "grep" ) == 0) || /* share entry point */
(strcmp( cmdName, "fgrep" ) == 0) )
*funcPtr = (ProcPtr) DoGREP;
else if( strcmp( cmdName, "cmp" ) == 0 )
*funcPtr = (ProcPtr) DoCMP;
else if( (strcmp( cmdName, "crypt" ) == 0 ) || /* share entry point */
(strcmp( cmdName, "decrypt" ) == 0 ))
*funcPtr = (ProcPtr) DoCRYPT;
else if( strcmp( cmdName, "diff" ) == 0 )
*funcPtr = (ProcPtr) DoDIFF;
else if( strcmp( cmdName, "df" ) == 0 )
*funcPtr = (ProcPtr) DoDF;
else if( strcmp( cmdName, "size" ) == 0 )
*funcPtr = (ProcPtr) DoSIZE;
else if( strcmp( cmdName, "sleep" ) == 0 )
*funcPtr = (ProcPtr) DoSLEEP;
else if( strcmp( cmdName, "prefs" ) == 0 )
*funcPtr = (ProcPtr) DoPREFS;
else if( strcmp( cmdName, "hd" ) == 0 )
*funcPtr = (ProcPtr) DoHD;
else if( strcmp( cmdName, "environ" ) == 0 )
*funcPtr = (ProcPtr) DoENVIRON;
else if( strcmp( cmdName, "fpb" ) == 0 )
*funcPtr = (ProcPtr) DoFINFO;
else if( strcmp( cmdName, "dpb" ) == 0 )
*funcPtr = (ProcPtr) DoDINFO;
else if( strcmp( cmdName, "vpb" ) == 0 )
*funcPtr = (ProcPtr) DoVINFO;
else if( strcmp( cmdName, "play" ) == 0 )
*funcPtr = (ProcPtr) DoPLAY;
else if( strcmp( cmdName, "setfile" ) == 0 )
*funcPtr = (ProcPtr) DoSETFILE;
else if( strcmp( cmdName, "eject" ) == 0 )
*funcPtr = (ProcPtr) DoEJECT;
else if( strcmp( cmdName, "cpt" ) == 0 )
*funcPtr = (ProcPtr) DoCPT;
else if( strcmp( cmdName, "mvt" ) == 0 )
*funcPtr = (ProcPtr) DoMVT;
else if( strcmp( cmdName, "touch" ) == 0 )
*funcPtr = (ProcPtr) DoTOUCH;
else if( strcmp( cmdName, "find" ) == 0 )
*funcPtr = (ProcPtr) DoFIND;
else if( strcmp( cmdName, "script" ) == 0 )
*funcPtr = (ProcPtr) DoSCRIPT;
else if( strcmp( cmdName, "usage" ) == 0 )
*funcPtr = (ProcPtr) DoUSAGE;
else if( strcmp( cmdName, "man" ) == 0 )
*funcPtr = (ProcPtr) DoMAN;
else if( strcmp( cmdName, "set" ) == 0 )
*funcPtr = (ProcPtr) DoSET;
else if( strcmp( cmdName, "unset" ) == 0 )
*funcPtr = (ProcPtr) DoUNSET;
else if( strcmp( cmdName, "rm" ) == 0 )
*funcPtr = (ProcPtr) DoRM;
else if( strcmp( cmdName, "read" ) == 0 )
*funcPtr = (ProcPtr) DoREAD;
else if( strcmp( cmdName, "edit" ) == 0 )
*funcPtr = (ProcPtr) DoEDIT;
else if( strcmp( cmdName, "echo" ) == 0 )
*funcPtr = (ProcPtr) DoECHO;
else if( strcmp( cmdName, "date" ) == 0 )
*funcPtr = (ProcPtr) DoDATE;
else if( strcmp( cmdName, "cal" ) == 0 )
*funcPtr = (ProcPtr) DoCAL;
else if( strcmp( cmdName, "cd" ) == 0 )
*funcPtr = (ProcPtr) DoCD;
else if( strcmp( cmdName, "pwd" ) == 0 )
*funcPtr = (ProcPtr) DoPWD;
else if( strcmp( cmdName, "ls" ) == 0 )
*funcPtr = (ProcPtr) DoLS;
else if( strcmp( cmdName, "sound" ) == 0 )
*funcPtr = (ProcPtr) DoSOUND;
else if( strcmp( cmdName, "mkdir" ) == 0 )
*funcPtr = (ProcPtr) DoMKDIR;
else if( strcmp( cmdName, "rmdir" ) == 0 )
*funcPtr = (ProcPtr) DoRMDIR;
else if( strcmp( cmdName, "cp" ) == 0 )
*funcPtr = (ProcPtr) DoCP;
else if( strcmp( cmdName, "mv" ) == 0 )
*funcPtr = (ProcPtr) DoMV;
else if( strcmp( cmdName, "wc" ) == 0 )
{
*funcPtr = (ProcPtr) DoWC;
*usesStdIn = TRUE;
}
else if( strcmp( cmdName, "tr" ) == 0 )
{
*funcPtr = (ProcPtr) DoTR;
*usesStdIn = TRUE;
}
else if( strcmp( cmdName, "cat" ) == 0 )
{
*funcPtr = (ProcPtr) DoCAT;
*usesStdIn = TRUE;
}
return( *funcPtr != NULL );
}